ccac00a1938f819c9c9169a92aa25bf64ceb0421,src/main/java/com/builtbroken/icbm/content/rail/entity/EntityCart.java,EntityCart,moveEntity,#number#number#number#,466

Before Change


        {
            byY = ((AxisAlignedBB) collisionBoxe).calculateYOffset(this.boundingBox, byY);
        }
        this.boundingBox.offset(0.0D, byY, 0.0D);

        //Calculate offset for x collision
        for (Object collisionBoxe : collisionBoxes)

After Change


        {
            byY = 0;
        }
        else if (railSide == ForgeDirection.EAST || railSide == ForgeDirection.WEST)
        {
            byX = 0;
        }
        else if (railSide == ForgeDirection.SOUTH || railSide == ForgeDirection.NORTH)
        {
            byZ = 0;
        }

        //Store previous movement values
        final double prevMoveX = byX;
        final double prevMoveY = byY;
        final double prevMoveZ = byZ;

        //Get collision boxes
        //TODO adjust by attached side
        final List collisionBoxes = this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox.getOffsetBoundingBox(0, .1, 0).addCoord(byX, byY, byZ));

        //No Y movement or collision detection is needed in Y direction of on top or bottom of a block
        if (railSide != ForgeDirection.DOWN && railSide != ForgeDirection.UP)
        {
            //Calculate offset for y collision
            for (Object collisionBoxe : collisionBoxes)
            {
                byY = ((AxisAlignedBB) collisionBoxe).calculateYOffset(this.boundingBox, byY);
            }
            this.boundingBox.offset(0.0D, byY, 0.0D);
        }

        //No X movement or collision detection is needed in X direction if rail is east or west
        if (railSide != ForgeDirection.EAST && railSide != ForgeDirection.WEST)
        {
            //Calculate offset for x collision
            for (Object collisionBoxe : collisionBoxes)
            {
                byX = ((AxisAlignedBB) collisionBoxe).calculateXOffset(this.boundingBox, byX);
            }
            this.boundingBox.offset(byX, 0.0D, 0.0D);
        }

        //No Z movement or collision detection is needed in Z direction if rail is north or south
        if (railSide != ForgeDirection.NORTH && railSide != ForgeDirection.SOUTH)
        {
            //Calculate offset for z collision
            for (Object collisionBoxe : collisionBoxes)